syrs.n=function(data,s2,k,N,param,B){ data=as.name(data); s2=s2; N=N; k=k; B=B param=as.name(param) if(param=='mean'){ D=B^2/4 } else if(param=='total'){ D=B^2/(4*N^2) } else if(param=='proportion'){ D=B^2/4 } n=ceiling((N*s2)/((N-1)*D+s2)) cat("","\n","Sample size estimation for 1-in-",k,"SyRS data:",data,"\n",'Estimation for ',param,'\n',"N =",N,"Required bound =",B,'\n', "Estimated variance =",s2,"\n","Estimated n =",n,"\n") results=list(data=data,N=N,s2=s2,B=B,D=D,n=n,param=param) } # to use the function with its call: # syrs.n(data,s2,k,N,param,B) # data: name of dataset, in quotes # s2: sigma^2 (s2=sigma^2 for mean and total, s2=phat*qhat for proportion) # k: 1-in-k value # N: population size # param: c('mean','total','proportion') # B: desired bound